ಸಿಎಸ್ಎಸ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ ನೇಮ್ ರೆಸಲ್ಯೂಶನ್, ಅದರ ಮಹತ್ವ ಮತ್ತು ಉದಾಹರಣೆಗಳೊಂದಿಗೆ ಅನುಷ್ಠಾನದ ಆಳವಾದ ಪರಿಶೋಧನೆ.
ಸಿಎಸ್ಎಸ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ ನೇಮ್ ರೆಸಲ್ಯೂಶನ್: ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ ವಿವರಿಸಲಾಗಿದೆ
ಸಿಎಸ್ಎಸ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳು ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ಗಳನ್ನು ರಚಿಸಲು ಒಂದು ಶಕ್ತಿಯುತ ವ್ಯವಸ್ಥೆಯನ್ನು ಒದಗಿಸುತ್ತವೆ, ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ ಮತ್ತು ವೆಬ್ ಪುಟಗಳಿಗೆ ಡೈನಾಮಿಕ್ ಪರಿಣಾಮಗಳನ್ನು ಸೇರಿಸುತ್ತವೆ. ಈ ತಂತ್ರಜ್ಞಾನದ ಒಂದು ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್, ಇದು ಒಂದು ಅನಿಮೇಷನ್ ನಿರ್ದಿಷ್ಟ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ನೊಂದಿಗೆ ಹೇಗೆ ಸಂಬಂಧ ಹೊಂದಿದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಈ ಲೇಖನವು ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ ಅನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಸಿಎಸ್ಎಸ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ಗೆ ಹೋಗುವ ಮೊದಲು, ಸಿಎಸ್ಎಸ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ನೋಡೋಣ. ಅವು ಅನಿಮೇಷನ್ಗಳನ್ನು ನಿಗದಿತ ಅವಧಿಯ ಬದಲು ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ನ ಸ್ಕ್ರಾಲ್ ಸ್ಥಾನದಿಂದ ನಿಯಂತ್ರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತವೆ. ಇದು ಬಳಕೆದಾರರ ಸ್ಕ್ರೋಲಿಂಗ್ಗೆ ನೇರವಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸುವ ಹೆಚ್ಚು ಸ್ವಾಭಾವಿಕ ಮತ್ತು ಸಂವಾದಾತ್ಮಕ ಅನಿಮೇಷನ್ಗಳಿಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ.
ಇದರಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ಪ್ರಮುಖ ಪ್ರಾಪರ್ಟಿಗಳು:
scroll-timeline-name: ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗೆ ಒಂದು ಹೆಸರನ್ನು ನಿಗದಿಪಡಿಸುತ್ತದೆ.scroll-timeline-axis: ಸ್ಕ್ರಾಲ್ ಅಕ್ಷವನ್ನು (blockಅಥವಾinline, ಹಿಂದೆverticalಅಥವಾhorizontal) ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.animation-timeline: ಅನಿಮೇಷನ್ ಅನ್ನು ಹೆಸರಿಸಲಾದ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗೆ ಲಿಂಕ್ ಮಾಡುತ್ತದೆ.
ಈ ಪ್ರಾಪರ್ಟಿಗಳು, ಕೀಫ್ರೇಮ್ಗಳೊಂದಿಗೆ ಸೇರಿ, ಡೆವಲಪರ್ಗಳಿಗೆ ಸಂಕೀರ್ಣ ಮತ್ತು ಆಕರ್ಷಕ ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ಗಳನ್ನು ರಚಿಸಲು ಅವಕಾಶ ನೀಡುತ್ತವೆ.
ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ ಎಂದರೇನು?
ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ ಎಂದರೆ, ಹಲವು ಟೈಮ್ಲೈನ್ಗಳು ಇದ್ದಾಗ ಬ್ರೌಸರ್ ಯಾವ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ ಅನ್ನು ಅನಿಮೇಷನ್ಗೆ ಬಳಸಬೇಕು ಎಂದು ನಿರ್ಧರಿಸುವ ಪ್ರಕ್ರಿಯೆ. ಇದು "ಹಲವು ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ಗಳಲ್ಲಿ ಟೈಮ್ಲೈನ್ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿದ್ದರೆ, ನನ್ನ ಅನಿಮೇಷನ್ ಯಾವುದಕ್ಕೆ ಸಂಪರ್ಕಗೊಳ್ಳುತ್ತದೆ?" ಎಂಬ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತದೆ. ರೆಸಲ್ಯೂಶನ್ ಅಲ್ಗಾರಿದಮ್ ಸೂಕ್ತ ಟೈಮ್ಲೈನ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಸ್ಪಷ್ಟ ಶ್ರೇಣಿಯನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ, ಇದು ವಿವಿಧ ಬ್ರೌಸರ್ಗಳು ಮತ್ತು ಸಾಧನಗಳಲ್ಲಿ ನಿರೀಕ್ಷಿತ ಮತ್ತು ಸ್ಥಿರವಾದ ನಡವಳಿಕೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ನ ಪ್ರಾಮುಖ್ಯತೆ
ಚೆನ್ನಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ರೆಸಲ್ಯೂಶನ್ ಪ್ರಕ್ರಿಯೆ ಇಲ್ಲದಿದ್ದರೆ, ಅನಿಮೇಷನ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗೆ ಬದ್ಧವಾಗಬೇಕಾದಾಗ ಅಸ್ಪಷ್ಟತೆ ಉಂಟಾಗುತ್ತದೆ. ಇದು ಅಸ್ಥಿರ ನಡವಳಿಕೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ ಮತ್ತು ಡೆವಲಪರ್ಗಳಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ಗಳನ್ನು ರಚಿಸುವುದು ಕಷ್ಟಕರವಾಗಿಸುತ್ತದೆ. ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ ಸರಿಯಾದ ಟೈಮ್ಲೈನ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ನಿರ್ಣಾಯಕ ವಿಧಾನವನ್ನು ಒದಗಿಸುವ ಮೂಲಕ ಈ ಅಸ್ಪಷ್ಟತೆಯನ್ನು ನಿವಾರಿಸುತ್ತದೆ.
ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ ಅಲ್ಗಾರಿದಮ್
ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ ಅಲ್ಗಾರಿದಮ್ ಅನಿಮೇಷನ್ಗಾಗಿ ಸೂಕ್ತ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ ಅನ್ನು ನಿರ್ಧರಿಸಲು ನಿರ್ದಿಷ್ಟ ನಿಯಮಗಳ ಗುಂಪನ್ನು ಅನುಸರಿಸುತ್ತದೆ. ಈ ನಿಯಮಗಳನ್ನು ವಿವರವಾಗಿ ವಿಂಗಡಿಸೋಣ:
- ಸ್ಪಷ್ಟವಾದ `animation-timeline` ಮೌಲ್ಯ: ಸ್ಪಷ್ಟವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ
animation-timelineಪ್ರಾಪರ್ಟಿಗೆ ಹೆಚ್ಚಿನ ಆದ್ಯತೆ ನೀಡಲಾಗುತ್ತದೆ. ಒಂದು ಎಲಿಮೆಂಟ್ಗೆanimation-timeline: my-timelineನೊಂದಿಗೆ ಅನಿಮೇಷನ್ ಇದ್ದರೆ, ಬ್ರೌಸರ್ ಮೊದಲು ಎಲಿಮೆಂಟ್ನ ಕಂಟೈನಿಂಗ್ ಬ್ಲಾಕ್ ಚೈನ್ನಲ್ಲಿscroll-timeline-name: my-timelineಹೊಂದಿರುವ ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ ಅನ್ನು ಹುಡುಕಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. - ಕಂಟೈನಿಂಗ್ ಬ್ಲಾಕ್ ಚೈನ್ ಟ್ರಾವರ್ಸಲ್: ಬ್ರೌಸರ್ ಕಂಟೈನಿಂಗ್ ಬ್ಲಾಕ್ ಚೈನ್ನ ಮೇಲಕ್ಕೆ ಹೋಗುತ್ತಾ, ಹೊಂದಾಣಿಕೆಯಾಗುವ
scroll-timeline-nameಇರುವ ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ಗಾಗಿ ಹುಡುಕುತ್ತದೆ. ಕಂಟೈನಿಂಗ್ ಬ್ಲಾಕ್ ಚೈನ್ ಎಂದರೆ ಒಂದು ಎಲಿಮೆಂಟ್ ನೆಸ್ಟ್ ಆಗಿರುವ ಕಂಟೈನಿಂಗ್ ಬ್ಲಾಕ್ಗಳ ಅನುಕ್ರಮ. ಈ ಹುಡುಕಾಟವು ಡಾಕ್ಯುಮೆಂಟ್ನ ಮೂಲವನ್ನು ತಲುಪುವವರೆಗೆ ಮುಂದುವರಿಯುತ್ತದೆ. - ಮೊದಲ ಹೊಂದಾಣಿಕೆಯೇ ಗೆಲುವು: ಕಂಟೈನಿಂಗ್ ಬ್ಲಾಕ್ ಚೈನ್ನಲ್ಲಿ ಒಂದೇ
scroll-timeline-nameಹೊಂದಿರುವ ಹಲವು ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ಗಳು ಕಂಡುಬಂದರೆ, ಟ್ರಾವರ್ಸಲ್ ಸಮಯದಲ್ಲಿ ಮೊದಲು ಎದುರಾಗುವ ಕಂಟೇನರ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ. ಇದರರ್ಥ ಹೊಂದಾಣಿಕೆಯಾಗುವ ಟೈಮ್ಲೈನ್ ಹೆಸರನ್ನು ಹೊಂದಿರುವ ಹತ್ತಿರದ ಪೂರ್ವಜರಿಗೆ ಆದ್ಯತೆ ಸಿಗುತ್ತದೆ. - `none` ಮೌಲ್ಯ:
animation-timelineಅನ್ನುnoneಗೆ ಹೊಂದಿಸಿದರೆ, ಅಥವಾ ಕಂಟೈನಿಂಗ್ ಬ್ಲಾಕ್ ಚೈನ್ನಲ್ಲಿ ಹೊಂದಾಣಿಕೆಯಾಗುವ ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ ಕಂಡುಬರದಿದ್ದರೆ, ಅನಿಮೇಷನ್ ಯಾವುದೇ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ನೊಂದಿಗೆ ಸಂಬಂಧ ಹೊಂದುವುದಿಲ್ಲ ಮತ್ತು ಸಾಂಪ್ರದಾಯಿಕ ಅವಧಿ-ಆಧಾರಿತ ಅನಿಮೇಷನ್ನಂತೆ ವರ್ತಿಸುತ್ತದೆ. - ಅಂತರ್ಗತ ಟೈಮ್ಲೈನ್ಗಳು: ಯಾವುದೇ ಸ್ಪಷ್ಟ
animation-timelineಅನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ ಮತ್ತುscroll-drivenಶಾರ್ಟ್ಹ್ಯಾಂಡ್ ಅನ್ನು ಬಳಸಿದರೆ ಅಥವಾ ಇತರ ಅಂತರ್ಗತ ವಿಧಾನಗಳನ್ನು ಬಳಸಿದರೆ, ಬ್ರೌಸರ್ ಎಲಿಮೆಂಟ್ನ ಹತ್ತಿರದ ಸ್ಕ್ರೋಲಿಂಗ್ ಪೂರ್ವಜರಿಗೆ ಸಂಬಂಧಿಸಿದ ಅನಾಮಧೇಯ ಟೈಮ್ಲೈನ್ ಅನ್ನು ರಚಿಸಬಹುದು.
ಒಂದು ದೃಶ್ಯ ಸಾದೃಶ್ಯ
ಒಂದು ಕುಟುಂಬದ ವಂಶವೃಕ್ಷವನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ. ಪ್ರತಿಯೊಬ್ಬ ಪೂರ್ವಜರು ಒಂದು ಕಂಟೈನಿಂಗ್ ಬ್ಲಾಕ್ ಅನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತಾರೆ. ಬ್ರೌಸರ್ ಅನಿಮೇಷನ್ ಅಗತ್ಯವಿರುವ ಎಲಿಮೆಂಟ್ನಿಂದ ಪ್ರಾರಂಭಿಸಿ ಅದರ ಪೂರ್ವಜರ ಮೂಲಕ ಮೇಲಕ್ಕೆ ಹುಡುಕುತ್ತದೆ. ಹೊಂದಾಣಿಕೆಯಾಗುವ scroll-timeline-name ಅನ್ನು ಹೊಂದಿರುವ ಮೊದಲ ಪೂರ್ವಜ ಟೈಮ್ಲೈನ್ ಆಯ್ಕೆಯಲ್ಲಿ ಗೆಲ್ಲುತ್ತಾನೆ.
ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ನ ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳು
ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ ವಿವಿಧ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ವಿವರಿಸಲು ಕೆಲವು ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳನ್ನು ಅನ್ವೇಷಿಸೋಣ. ನಾವು ನೆಸ್ಟೆಡ್ ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ಗಳು, ಬಹು ಟೈಮ್ಲೈನ್ಗಳು, ಮತ್ತು ಸ್ಪಷ್ಟ/ಅಂತರ್ಗತ ಟೈಮ್ಲೈನ್ ನಿಯೋಜನೆಗಳೊಂದಿಗೆ ಉದಾಹರಣೆಗಳನ್ನು ನೋಡುತ್ತೇವೆ.
ಉದಾಹರಣೆ 1: ಮೂಲಭೂತ ಟೈಮ್ಲೈನ್ ರೆಸಲ್ಯೂಶನ್
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು my-timeline ಹೆಸರಿನ ಒಂದು ಸರಳ ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ ಅನ್ನು ಹೊಂದಿದ್ದೇವೆ, ಮತ್ತು ಅದರೊಳಗಿನ ಒಂದು ಎಲಿಮೆಂಟ್ ತನ್ನ ಅನಿಮೇಷನ್ಗಾಗಿ ಈ ಟೈಮ್ಲೈನ್ ಅನ್ನು ಬಳಸುತ್ತದೆ.
.scroll-container {
width: 300px;
height: 200px;
overflow: auto;
scroll-timeline-name: my-timeline;
scroll-timeline-axis: block;
}
.animated-element {
width: 100px;
height: 100px;
background-color: red;
animation-name: slide;
animation-duration: auto;
animation-timeline: my-timeline;
}
@keyframes slide {
from {
transform: translateX(0);
}
to {
transform: translateX(200px);
}
}
ಈ ಸಂದರ್ಭದಲ್ಲಿ, animated-element .scroll-container ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ my-timeline ಅನ್ನು ಬಳಸುತ್ತದೆ ಏಕೆಂದರೆ ಅದು ಹೊಂದಾಣಿಕೆಯಾಗುವ ಟೈಮ್ಲೈನ್ ಹೆಸರನ್ನು ಹೊಂದಿರುವ ಹತ್ತಿರದ ಪೂರ್ವಜವಾಗಿದೆ.
ಉದಾಹರಣೆ 2: ನೆಸ್ಟೆಡ್ ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ಗಳು
ಇಲ್ಲಿ, ನಾವು ನೆಸ್ಟೆಡ್ ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ, ಪ್ರತಿಯೊಂದಕ್ಕೂ ತನ್ನದೇ ಆದ ಟೈಮ್ಲೈನ್ ಇದೆ. ಈ ಉದಾಹರಣೆಯು ಕಂಟೈನಿಂಗ್ ಬ್ಲಾಕ್ ಚೈನ್ ಟ್ರಾವರ್ಸಲ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ.
.outer-container {
width: 400px;
height: 300px;
overflow: auto;
scroll-timeline-name: outer-timeline;
scroll-timeline-axis: block;
}
.inner-container {
width: 200px;
height: 150px;
overflow: auto;
scroll-timeline-name: inner-timeline;
scroll-timeline-axis: block;
}
.animated-element {
width: 50px;
height: 50px;
background-color: blue;
animation-name: fade;
animation-duration: auto;
animation-timeline: inner-timeline;
}
@keyframes fade {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
<div class="outer-container"> <div class="inner-container"> <div class="animated-element"></div> </div> </div>
animated-element .inner-container ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ inner-timeline ಅನ್ನು ಬಳಸುತ್ತದೆ ಏಕೆಂದರೆ ಅದು ಹೊಂದಾಣಿಕೆಯಾಗುವ ಟೈಮ್ಲೈನ್ ಹೆಸರನ್ನು ಹೊಂದಿರುವ ಹತ್ತಿರದ ಪೂರ್ವಜವಾಗಿದೆ. ನಾವು animation-timeline ಅನ್ನು outer-timeline ಗೆ ಬದಲಾಯಿಸಿದರೆ, ಅದು outer-timeline ಅನ್ನು ಬಳಸುತ್ತದೆ.
ಉದಾಹರಣೆ 3: ಒಂದೇ ಹೆಸರಿನೊಂದಿಗೆ ಬಹು ಟೈಮ್ಲೈನ್ಗಳು
ಒಂದೇ ಕಂಟೈನಿಂಗ್ ಬ್ಲಾಕ್ ಚೈನ್ನಲ್ಲಿರುವ ಬಹು ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ಗಳು ಒಂದೇ ಟೈಮ್ಲೈನ್ ಹೆಸರನ್ನು ಹೊಂದಿರುವಾಗ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಈ ಉದಾಹರಣೆ ತೋರಿಸುತ್ತದೆ.
.container1 {
width: 300px;
height: 200px;
overflow: auto;
scroll-timeline-name: shared-timeline;
scroll-timeline-axis: block;
}
.container2 {
width: 300px;
height: 200px;
overflow: auto;
scroll-timeline-name: shared-timeline;
scroll-timeline-axis: block;
}
.animated-element {
width: 100px;
height: 100px;
background-color: green;
animation-name: rotate;
animation-duration: auto;
animation-timeline: shared-timeline;
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
<div class="container1"> </div> <div class="container2"> <div class="animated-element"></div> </div>
ಏಕೆಂದರೆ .animated-element .container2 ಒಳಗೆ ನೆಸ್ಟ್ ಆಗಿದೆ, ಮತ್ತು .container2 DOM ನಲ್ಲಿ ನಂತರ ಬರುತ್ತದೆ (ಮತ್ತು ಆದ್ದರಿಂದ ಈ ನಿರ್ದಿಷ್ಟ ಉದಾಹರಣೆಯಲ್ಲಿ ಕಂಟೈನಿಂಗ್ ಬ್ಲಾಕ್ ಚೈನ್ನಲ್ಲಿ "ಹತ್ತಿರದಲ್ಲಿದೆ"), rotate ಅನಿಮೇಷನ್ .container2 ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ shared-timeline ಅನ್ನು ಬಳಸುತ್ತದೆ. ಒಂದು ವೇಳೆ ಎಲಿಮೆಂಟ್ ಅನ್ನು `container1` ಒಳಗೆ ಸರಿಸಿದ್ದರೆ, ಅದು `container1` ನ ಟೈಮ್ಲೈನ್ ಅನ್ನು ಬಳಸುತ್ತಿತ್ತು.
ಉದಾಹರಣೆ 4: `animation-timeline: none`
ಈ ಉದಾಹರಣೆಯು animation-timeline: none ಎಂದು ಹೊಂದಿಸುವುದರಿಂದ ಅನಿಮೇಷನ್ ಯಾವುದೇ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ನೊಂದಿಗೆ ಸಂಬಂಧ ಹೊಂದುವುದನ್ನು ಹೇಗೆ ತಡೆಯುತ್ತದೆ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ.
.scroll-container {
width: 300px;
height: 200px;
overflow: auto;
scroll-timeline-name: my-timeline;
scroll-timeline-axis: block;
}
.animated-element {
width: 100px;
height: 100px;
background-color: purple;
animation-name: slide;
animation-duration: 2s; /* Use a duration */
animation-timeline: none;
}
@keyframes slide {
from {
transform: translateX(0);
}
to {
transform: translateX(200px);
}
}
ಈ ಸಂದರ್ಭದಲ್ಲಿ, slide ಅನಿಮೇಷನ್ ಸಾಮಾನ್ಯ ಅವಧಿ-ಆಧಾರಿತ ಅನಿಮೇಷನ್ನಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, .scroll-container ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ my-timeline ಅನ್ನು ಕಡೆಗಣಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ 5: `scroll-driven` ನೊಂದಿಗೆ ಅಂತರ್ಗತ ಟೈಮ್ಲೈನ್ಗಳು
scroll-driven ಶಾರ್ಟ್ಹ್ಯಾಂಡ್ ಅಂತರ್ಗತ ಟೈಮ್ಲೈನ್ ರಚನೆಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇಲ್ಲಿ, ಅನಿಮೇಷನ್ ಟೈಮ್ಲೈನ್ ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಹೆಸರಿಸದೆ ಹತ್ತಿರದ ಸ್ಕ್ರೋಲಿಂಗ್ ಪೂರ್ವಜರಿಂದ ಚಾಲಿತವಾಗುತ್ತದೆ.
.scroll-container {
width: 300px;
height: 200px;
overflow: auto;
}
.animated-element {
width: 100px;
height: 100px;
background-color: orange;
animation-name: slide;
animation-duration: auto;
animation-timeline: scroll-driven(block);
}
@keyframes slide {
from {
transform: translateX(0);
}
to {
transform: translateX(200px);
}
}
animated-element ನ slide ಅನಿಮೇಷನ್ scroll-container ನ ಬ್ಲಾಕ್ ಅಕ್ಷದ ಸ್ಕ್ರಾಲ್ ಸ್ಥಾನದಿಂದ ಚಾಲಿತವಾಗುತ್ತದೆ. ಯಾವುದೇ ಸ್ಪಷ್ಟ ಟೈಮ್ಲೈನ್ ಹೆಸರು ಅಗತ್ಯವಿಲ್ಲ, ಆದರೆ ಬ್ರೌಸರ್ ಸ್ಕ್ರೋಲಿಂಗ್ ಕಂಟೇನರ್ಗೆ ಸಂಬಂಧಿಸಿದ ಟೈಮ್ಲೈನ್ ಅನ್ನು ಅಂತರ್ಗತವಾಗಿ ರಚಿಸುತ್ತದೆ.
ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ ಬಳಸಲು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು
ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ ಅನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಬಳಸಲು ಮತ್ತು ದೃಢವಾದ ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ಗಳನ್ನು ರಚಿಸಲು, ಈ ಕೆಳಗಿನ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಪರಿಗಣಿಸಿ:
- ಸ್ಪಷ್ಟವಾದ `animation-timeline` ಮೌಲ್ಯಗಳನ್ನು ಬಳಸಿ: ಅಸ್ಪಷ್ಟತೆಯನ್ನು ತಪ್ಪಿಸಲು ಮತ್ತು ಅನಿಮೇಷನ್ಗಳು ಸರಿಯಾದ ಟೈಮ್ಲೈನ್ಗಳಿಗೆ ಸಂಪರ್ಕಗೊಂಡಿವೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಯಾವಾಗಲೂ
animation-timelineಪ್ರಾಪರ್ಟಿಯನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿ. - ವಿವರಣಾತ್ಮಕ ಟೈಮ್ಲೈನ್ ಹೆಸರುಗಳನ್ನು ಆರಿಸಿ: ಕೋಡ್ನ ಓದುವಿಕೆ ಮತ್ತು ನಿರ್ವಹಣೆಯನ್ನು ಸುಧಾರಿಸಲು ನಿಮ್ಮ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳಿಗೆ ಸ್ಪಷ್ಟ ಮತ್ತು ವಿವರಣಾತ್ಮಕ ಹೆಸರುಗಳನ್ನು ಬಳಸಿ (ಉದಾ.,
timeline1ಬದಲಿಗೆheader-scroll-timeline). - ಸಂಘರ್ಷದ ಟೈಮ್ಲೈನ್ ಹೆಸರುಗಳನ್ನು ತಪ್ಪಿಸಿ: ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ವಿವಿಧ ಭಾಗಗಳಲ್ಲಿ ಒಂದೇ ಟೈಮ್ಲೈನ್ ಹೆಸರನ್ನು ಬಳಸುವಾಗ ಜಾಗರೂಕರಾಗಿರಿ. ನೀವು ಒಂದೇ ಹೆಸರನ್ನು ಬಳಸಬೇಕಾದರೆ, ಅನಿರೀಕ್ಷಿತ ನಡವಳಿಕೆಯನ್ನು ತಡೆಯಲು ಸ್ಕ್ರಾಲ್ ಕಂಟೇನರ್ಗಳು ಒಂದೇ ಕಂಟೈನಿಂಗ್ ಬ್ಲಾಕ್ ಚೈನ್ನಲ್ಲಿ ಇಲ್ಲ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
- ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಪರಿಗಣಿಸಿ: ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ಗಳು ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಹುದು. ಹಾರ್ಡ್ವೇರ್ ಅಕ್ಸೆಲೆರೇಶನ್ (ಉದಾ.,
transform: translateZ(0)) ಬಳಸಿ ಮತ್ತು ನಿಮ್ಮ ಕೀಫ್ರೇಮ್ಗಳ ಸಂಕೀರ್ಣತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಮೂಲಕ ನಿಮ್ಮ ಅನಿಮೇಷನ್ಗಳನ್ನು ಆಪ್ಟಿಮೈಜ್ ಮಾಡಿ. - ವಿವಿಧ ಬ್ರೌಸರ್ಗಳು ಮತ್ತು ಸಾಧನಗಳಲ್ಲಿ ಪರೀಕ್ಷಿಸಿ: ನಿಮ್ಮ ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ಗಳು ವಿವಿಧ ಬ್ರೌಸರ್ಗಳು ಮತ್ತು ಸಾಧನಗಳಲ್ಲಿ ಸ್ಥಿರವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ಯಾವುದೇ ಸಮಸ್ಯೆಗಳನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಆಪ್ಟಿಮೈಜ್ ಮಾಡಲು ಬ್ರೌಸರ್ ಡೆವಲಪರ್ ಟೂಲ್ಗಳನ್ನು ಬಳಸಿ.
- ಲಭ್ಯತೆ (Accessibility): ಚಲನೆಯ ಸಂವೇದನೆಗಳನ್ನು ಹೊಂದಿರುವ ಬಳಕೆದಾರರನ್ನು ಪರಿಗಣಿಸಿ. ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ಗಳ ತೀವ್ರತೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಅಥವಾ ಕಡಿಮೆ ಮಾಡಲು ಆಯ್ಕೆಗಳನ್ನು ಒದಗಿಸಿ.
ಸುಧಾರಿತ ತಂತ್ರಗಳು ಮತ್ತು ಪರಿಗಣನೆಗಳು
ಸಿಎಸ್ಎಸ್ ವೇರಿಯೇಬಲ್ಗಳೊಂದಿಗೆ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳನ್ನು ಸಂಯೋಜಿಸುವುದು
ಸಿಎಸ್ಎಸ್ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳು ಮತ್ತು ಅನಿಮೇಷನ್ಗಳ ಪ್ರಾಪರ್ಟಿಗಳನ್ನು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ನಿಯಂತ್ರಿಸಲು ಬಳಸಬಹುದು. ಇದು ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವ ಮತ್ತು ಸ್ಪಂದನಾತ್ಮಕ ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಪರಿಣಾಮಗಳಿಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ.
:root {
--timeline-name: my-timeline;
}
.scroll-container {
width: 300px;
height: 200px;
overflow: auto;
scroll-timeline-name: var(--timeline-name);
scroll-timeline-axis: block;
}
.animated-element {
width: 100px;
height: 100px;
background-color: red;
animation-name: slide;
animation-duration: auto;
animation-timeline: var(--timeline-name);
}
--timeline-name ವೇರಿಯೇಬಲ್ನ ಮೌಲ್ಯವನ್ನು ಬದಲಾಯಿಸುವ ಮೂಲಕ, ನೀವು ಅನಿಮೇಷನ್ ಬಳಸುವ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ ಅನ್ನು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಬದಲಾಯಿಸಬಹುದು.
ಸಂಕೀರ್ಣ ಟೈಮ್ಲೈನ್ ನಿರ್ವಹಣೆಗಾಗಿ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸುವುದು
ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ಸನ್ನಿವೇಶಗಳಿಗಾಗಿ, ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳು ಮತ್ತು ಅನಿಮೇಷನ್ಗಳನ್ನು ಪ್ರೋಗ್ರಾಮಿಕ್ ಆಗಿ ನಿರ್ವಹಿಸಲು ನೀವು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬಳಸಬಹುದು. ಇದು ಕಸ್ಟಮ್ ಟೈಮ್ಲೈನ್ ರೆಸಲ್ಯೂಶನ್ ಲಾಜಿಕ್ ಅನ್ನು ರಚಿಸಲು ಮತ್ತು ಬಳಕೆದಾರರ ಸಂವಹನಗಳು ಅಥವಾ ಇತರ ಅಂಶಗಳ ಆಧಾರದ ಮೇಲೆ ಅನಿಮೇಷನ್ ಪ್ರಾಪರ್ಟಿಗಳನ್ನು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಸರಿಹೊಂದಿಸಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
const scrollContainer = document.querySelector('.scroll-container');
const animatedElement = document.querySelector('.animated-element');
scrollContainer.addEventListener('scroll', () => {
const scrollPosition = scrollContainer.scrollTop;
// Update animation properties based on scroll position
animatedElement.style.transform = `translateX(${scrollPosition}px)`;
});
ಈ ಉದಾಹರಣೆಯು ನೇರವಾಗಿ ಸಿಎಸ್ಎಸ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳನ್ನು ಬಳಸದಿದ್ದರೂ, ಸ್ಕ್ರಾಲ್ ಸ್ಥಾನದ ಆಧಾರದ ಮೇಲೆ ಅನಿಮೇಷನ್ಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಹೇಗೆ ಬಳಸಬಹುದು ಎಂಬುದನ್ನು ಇದು ವಿವರಿಸುತ್ತದೆ, ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ಸನ್ನಿವೇಶಗಳಿಗೆ ಪರ್ಯಾಯ ವಿಧಾನವನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಸಿಎಸ್ಎಸ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳಲ್ಲಿನ ಭವಿಷ್ಯದ ಪ್ರವೃತ್ತಿಗಳು
ಸಿಎಸ್ಎಸ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳ ಕ್ಷೇತ್ರವು ನಿರಂತರವಾಗಿ ವಿಕಸನಗೊಳ್ಳುತ್ತಿದೆ. ಗಮನಿಸಬೇಕಾದ ಕೆಲವು ಸಂಭಾವ್ಯ ಭವಿಷ್ಯದ ಪ್ರವೃತ್ತಿಗಳು ಇಲ್ಲಿವೆ:
- ಸುಧಾರಿತ ಬ್ರೌಸರ್ ಬೆಂಬಲ: ಸಿಎಸ್ಎಸ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳು ಹೆಚ್ಚು ವ್ಯಾಪಕವಾಗಿ ಅಳವಡಿಕೆಯಾದಂತೆ, ಬ್ರೌಸರ್ ಬೆಂಬಲವು ಸುಧಾರಿಸುತ್ತಲೇ ಇರುತ್ತದೆ, ಇದರಿಂದ ವಿವಿಧ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ಸ್ಥಿರವಾದ ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ಗಳನ್ನು ರಚಿಸುವುದು ಸುಲಭವಾಗುತ್ತದೆ.
- ಹೆಚ್ಚು ಸುಧಾರಿತ ಟೈಮ್ಲೈನ್ ಆಯ್ಕೆಗಳು: ಬಹು ಸ್ಕ್ರಾಲ್ ಅಕ್ಷಗಳಿಗೆ ಬೆಂಬಲ, ಕಸ್ಟಮ್ ಈಸಿಂಗ್ ಫಂಕ್ಷನ್ಗಳು, ಮತ್ತು ಹೆಚ್ಚು ಅತ್ಯಾಧುನಿಕ ಟೈಮ್ಲೈನ್ ರೆಸಲ್ಯೂಶನ್ ಅಲ್ಗಾರಿದಮ್ಗಳಂತಹ ಹೆಚ್ಚು ಸುಧಾರಿತ ಟೈಮ್ಲೈನ್ ಆಯ್ಕೆಗಳ ಪರಿಚಯವನ್ನು ನಾವು ನೋಡಬಹುದು.
- ವೆಬ್ ಕಾಂಪೊನೆಂಟ್ಗಳೊಂದಿಗೆ ಏಕೀಕರಣ: ಸಿಎಸ್ಎಸ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳನ್ನು ವೆಬ್ ಕಾಂಪೊನೆಂಟ್ಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸಬಹುದು, ಇದು ಡೆವಲಪರ್ಗಳಿಗೆ ಮರುಬಳಕೆ ಮಾಡಬಹುದಾದ ಮತ್ತು ಸಂಯೋಜಿತ ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ರಚಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
- ವರ್ಧಿತ ಕಾರ್ಯಕ್ಷಮತೆ ಆಪ್ಟಿಮೈಸೇಶನ್: ಸಿಎಸ್ಎಸ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳ ಭವಿಷ್ಯದ ಆವೃತ್ತಿಗಳು ಅಂತರ್ನಿರ್ಮಿತ ಕಾರ್ಯಕ್ಷಮತೆ ಆಪ್ಟಿಮೈಸೇಶನ್ ತಂತ್ರಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು, ಇದು ಸುಗಮ ಮತ್ತು ದಕ್ಷ ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ಗಳನ್ನು ರಚಿಸುವುದನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.
ತೀರ್ಮಾನ
ಸಿಎಸ್ಎಸ್ ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ ನೇಮ್ ರೆಸಲ್ಯೂಶನ್, ವಿಶೇಷವಾಗಿ ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್, ನಿರೀಕ್ಷಿತ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ಗಳನ್ನು ರಚಿಸಲು ಒಂದು ನಿರ್ಣಾಯಕ ಪರಿಕಲ್ಪನೆಯಾಗಿದೆ. ರೆಸಲ್ಯೂಶನ್ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ ಮತ್ತು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅನುಸರಿಸುವ ಮೂಲಕ, ಡೆವಲಪರ್ಗಳು ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ಹೆಚ್ಚಿಸಲು ಮತ್ತು ತಮ್ಮ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಡೈನಾಮಿಕ್ ಪರಿಣಾಮಗಳನ್ನು ಸೇರಿಸಲು ಸ್ಕ್ರಾಲ್ ಟೈಮ್ಲೈನ್ಗಳ ಶಕ್ತಿಯನ್ನು ಬಳಸಿಕೊಳ್ಳಬಹುದು. ತಂತ್ರಜ್ಞಾನವು ವಿಕಸನಗೊಳ್ಳುತ್ತಲೇ ಇರುವುದರಿಂದ, ವೆಬ್ನಲ್ಲಿ ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ಗಾಗಿ ನಾವು ಇನ್ನಷ್ಟು ರೋಚಕ ಸಾಧ್ಯತೆಗಳನ್ನು ನಿರೀಕ್ಷಿಸಬಹುದು. ನೀವು ಸರಳ ಪ್ಯಾರಲಾಕ್ಸ್ ಪರಿಣಾಮವನ್ನು ನಿರ್ಮಿಸುತ್ತಿರಲಿ ಅಥವಾ ಸಂಕೀರ್ಣ ಸಂವಾದಾತ್ಮಕ ಅನುಭವವನ್ನು ನಿರ್ಮಿಸುತ್ತಿರಲಿ, ದೃಢವಾದ ಮತ್ತು ಆಕರ್ಷಕ ಸ್ಕ್ರಾಲ್-ಚಾಲಿತ ಅನಿಮೇಷನ್ಗಳನ್ನು ರಚಿಸಲು ಟೈಮ್ಲೈನ್ ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ ಅನ್ನು ಕರಗತ ಮಾಡಿಕೊಳ್ಳುವುದು ಅತ್ಯಗತ್ಯ.